# 1、读取学生表数据
with open("../../data/students.txt", mode="r", encoding="UTF-8") as file:
    # 去掉每一行后面的换行符
    students = [line.rstrip() for line in file.readlines()]

# 2、取出每个学生的班级
clazzs = []
for student in students:
    # 按照逗号切分字符串
    split = student.split(",")
    # 取出班级
    clazz = split[-1]
    # 将班级放到clazzs中
    clazzs.append(clazz)

print(clazzs)

# 使用列表推导式简化
clazzs = [student.split(",")[-1] for student in students]

print(clazzs)

# 3、统计班级的人数

# 定义一个空的字典，用于保存结果
clazz_num = {}

# 循环班级列表。计算每个班级的人数
for clazz in clazzs:
    # 判断班级在字典中是否存在
    if clazz not in clazz_num:
        # 如果班级在字典中不存在，往字典中存入一个1
        clazz_num[clazz] = 1
    else:
        # 如果班级在字典中存在，在已有值的基础上加1
        # 在往字典中存数据时，如果keuy已存在会覆盖字典中的数据
        clazz_num[clazz] = clazz_num[clazz] + 1

print(clazz_num)

# 4、将统计结果保存到文件中
with open("../../data/clazz_num.txt", mode="w", encoding="UTF-8") as file:
    # 循环结果按行结果数据保存到文件中
    for clazz, num in clazz_num.items():
        # 将结果写入文件
        file.write("{},{}\n".format(clazz, num))
